Duplicatorでテストサイトを作る方法
公開しているサイトのバックアップサイトを準備しておいたり、ワードプレス、テーマ、プラグインのバージョンアップの動作確認や新しいデザインを取り入れるためにテストサイトを作ったりすることは、サイトを運営する上で欠かせません。
ワードプレスは、サイトを訪問した人がページを見ようとする度にデータベースから必要なファイルを編集して表示する動的Webサイトなので、ワードプレスのファイルとデータベースをコピーするだけでは元サイトの複製は作れません。「Duplicator」というプラグインを使えば簡単にバックアップ・テストサイトを作成することができますが、ちょっとしたコツというか注意点があるので詳しく説明します。
Duplicator、テストサイトを作ったり、サイトを復元させたり、サーバーを移転させたり多岐にわたる使い方ができる大変便利なプラグインです。ボリュームが多いので分かりやすく3部構成で紹介します。
参考 「Duplicatorで公開サイトを復元する方法」「Duplicatorでサーバーを移転する方法」
目次
1 Duplicatorプラグインをインストールする
2 Duplicatorでサイトの複製の事前準備をする
2-1 サブドメインとデータベースを作成する
2-2 ディレクトリを作成する
3 Duplicatorを使って複製元の情報を抽出する
4 Duplicatorで抽出した情報を複製先にインストールする
5 複製先の.htaccessを書き換える
6 Duplicatorで抽出したファイルをサーバーから削除する
7 パーマリンクの設定を更新する
8Duplicatorでサイトを複製する時の補足事項
1 Duplicator プラグインをインストールする
冒頭に説明したとおり、ワードプレスで作成しているサイトを複製するには「Duplicator」というプラグインを使用する方法が簡単です。
Duplicator(Ver.1.2.42)の動作環境
ワードプレス4.0以上
PHP 5.2.17以上(5.3以上を推奨)
MySQL 5.0以上(5.5以上を推奨)
Zlib圧縮が有効であること(※Zlib圧縮はほとんどのレンタルサーバーで有効です。)
早速、Duplicatorをインストールします。
※プラグインのインストール方法がわからない方は「WPにテーマやプラグインを効率よくインストールする方法」を参考にしてください。
ダッシュボード > プラグイン > 新規追加 を開き、赤枠のキーワードに「Duplicator」と入力します。Duplicatorが表示されたら「今すぐインストール」をクリックして「有効化」します。
2 Duplicatorでサイトの複製の事前準備をする
2-1 サブドメインとデータベースを準備する
Duplicatorは、複製元のサイトのディレクトリのファイルとデータベースの情報をコピーして、複製先のディレクトリとデータベースに書き込みを行います。
なので、Duplicatorで複製作業に入る前に複製先のディレクトリとデータベースを作成しておく必要があります。
※使用しているサーバーがcPanel製の場合、複製していく段階でデータベースを作成してくれますが、cPanel以外のサーバーでは対応していないので事前準備する方法で説明します。
今回使用するサーバーは、比較的料金の安い割りに性能が安定しているロリポップの管理画面で説明します。(レンタルサーバーに関しては「初心者必見 サーバーの種類と選び方」を参考にしてください。)
動作確認用のテスト環境を作るには、複製元のサーバー内に作らないと動作確認ができず正確な検証ができません。
その際、新しくドメインを取得するとドメイン代がかかるのでサブドメインを使用するといいでしょう。サブドメインの設置個数に関してはレンタルサーバーや契約するプランにより異なりのでレンタルサーバーの要件を確認してください。(サブドメインに関しては「ドメインって何? ドメインの解説と選び方」を参考にしてください。)
今回は、「test.easy-wordpress.work」というサブドメインを作ってサイトを複製します。
テスト環境用なので公開する訳ではありません。サブドメインは自分の分かりやすい名前でいいと思います。ただし、バックアップ用にするならサイト異常時に臨時に公開サイトの代替えとする訳ですから、それらしいサブドメイン名にしておいた方がいいでしょう。
サブドメインの設定方法は、レンタルサーバーによってことなるので、仕様書を確認してください。
サブドメインを設定したら、続けて複製先で使用するデータベースを作成します。
データベースを作成する際に入力する「サーバー名」「データベース名」「接続パスワード」と「サーバーのホスト名」「ユーザー名」が複製する際に必要になるので手元にメモしておきましょう。
2-2 ディレクトリを作成する
サブドメインとデータベースを作成したら、複製先のワードプレスのファイルを入れるディレクトリを作成します。
ディレクトリの作成方法は、レンタルサーバーの管理画面から作成したり。FTPソフトを使用して作成したりできますが、作成する場所はルート直下に作成するのが望ましいです。
今回は作成するテストサイトのサブドメインは「test.easy-wordpress.work」なので作成するディレクトリ名は「test.easy-wordpress」になります。
これで事前準備は整いました。
次は、Duplicatorを使って複製元のサイトの情報を書き出します。
3 Duplicatorを使って複製元の情報を抽出する
Duplicatorを有効にするとダッシュボードにDuplicatorが追加されます。
ダッシュボード > Duplicator > Packages を開いて、右上の「Create New」をクリックします。
いろいろ入力項目がありますが、何も入力する必要はありません。
上段の「Name」が複雑な文字列になっていますが、これはサイトに関する重要な情報が梱包されるファイルになるので、このような文字列が自動作成されます。
分かりやすいように「Name」を打ち変えることも可能ですが、小文字のアルファベットと数字のみです。
左下の「Next」をクリックして次に進みます。
複製元のサイト情報をスキャンした結果が表示されます。
緑色の「Good」は問題がないことを表しています。
赤色の「Notice」は複製ができない可能性がある警告です。
具体的な何が警告されているのか確認してみます。
上段の「Setup」の警告を開くと、該当箇所に▲のマークがあります。
これはPHPの最大実行時間が120秒となっており、ファイルのサイズによってはタイムオーバーして実行できない可能性があることを表しています。
対策としては、ファイルサイズを小さくするか、最大実行時間を変更するかです。
共用のレンタルサーバーの場合は最大実行時間を変更することは、ほとんどのサーバーはできません。ファイルサイズを小さくすることは場合によってはできるかもしれません。
中段の「Files」はサイズ容量の大きいものを自動抽出して表示しています。
この中から複製する必要がないものは、チェックを付けて「Add Filters & Rescan」をクリックするとそのファイルは除かれてサイズ容量を小さくすることができます。
重要なファイルかどうか判断が出来なければチェックを入れる必要はありません。
複製できなかった時に考えましょう。
データベースのファイル容量が表示されています。
これに関しては特にやることはありません。
※※※ ポイント ※※※
重要なことは、「Notice」と警告が出ているからといって、複製時に必ずしもエラーが発生する訳ではありません。
警告はあくまで警告です。
ここでの警告は、正常に処理が出来なかった時に対処するためのヒントを示していると理解していいです。
Filesの警告に対していくつかのファイルを除外したところ、644.93MBから352.09MBにファイルサイズを縮小することができました。
ちなみに、644.93MBのまま複製作業を進めても問題なく複製できます。
上限は? と聞かれるとわかりませんが、ファイルサイズが大きすぎて複製できない場合はその時に対処すればいいと思っています。(やれることは限られているので)
「Yes,Continue With the build process」にチェックを入れて、「Build」をクリックします。
複製用の梱包が成功すると「Package Completed」と表示されます。
赤枠で囲った「Installer」と「Archive」のファイルをそれぞれパソコンにダウンロードしてください。(複製にはこの2つのファイルが必要になります。)
サイトの複製に必要な情報の抽出はこれで完了です。
続いて、複製先にこの情報をインストールしていきます。
4 Duplicatorで抽出した情報を複製先にインストールする
複製元サイトから抽出したディレクトリとデータベースの情報を、複製先のサブドメインにインストールします。
先程、抽出してパソコンに保存した「installer.php」と「・・・_archive.zip」のファイルを、FTPソフトなどを使って最初に作成したサブドメインのディレクトリにアップロードします。
※※※ ポイント ※※※
アップロードする際に注意する点は、「パッシブモード」でアップロードする必要があります。転送モードが「オート」又は「バイナリーモード」になっている場合は、「パッシブモード」に変更してからアップロードしてください。(アップロードするファイルが破損する原因になります。)
アップロードが完了したら、普段使用しているブラウザーを開いて、URLアドレスに「https://yukaki.kagoyacloud.com/installer.php」と入力して実行します。
※※※ 解 説 ※※※
複製元のサイトは、既に公開している訳ですからDNS情報はこのレンタルサーバーになっているはずです。サブドメインのDNS情報は親ドメインと同じなのでレンタルサーバーの管理画面でサブドメインを設定した時からWeb上で接続可能な状態になっています。
Duplicatorの管理画面が開きます。
「Archive」「Validation」「Options」の3つの項目があります。
それぞれの項目を開いて確認してみます。
アップロードした「Archive.zip」ファイルの状態が表示されています。
Status : File Found(ファイルが見つかりました)
Format : Good structure(良い構造)
※※※ ポイント ※※※
複製元から情報を抽出する際に出る警告はあくまでも警告でしたが、インストールの段階で出る警告はインストールできない警告であることが多いです。
もしStatusやFormatがグリーン表示でない場合は、複製元の情報の抽出からやり直した方がいいです。仮にインストールできても何らかの異常が発生しているかもしれません。
Validation(検証)の情報です。
Archive.zipファイルに含まれるデータベースの情報をスキャンしてファイルに破損等がないか検証した結果が表示されています。
※※※ ポイント ※※※
レッド表示されている場合はファイルに破損があるかもしれません。アップロード時の転送モードが「パッシブモード」であったか確認してください。転送モードに間違えがなければファイル抽出時にエラーが発生している可能性が高いです。ファイル抽出時に出た警告を中心に原因を探ってみてください。
Optionsを設定します。
Extractionが「PHP ZipArchive」になっていることを確認してください。
その他は、特に変更する必要はありません。
「I have read and accept all terms & notices(利用規約に同意する)」にチェックを入れて、右下の「Next」をクリックします。
最初に作成したデータベースの情報を入力します。
(サーバーがcPanelの場合はこの段階でデータベースを作成することができます。)
Action : 「Connect and Remove All Data(すべてのデータを削除する)」
Host : サーバーに接続するためのHost名
Database : データベースを作成したときのデータベース名
User : サーバーに接続するためのユーザー名
Password : データベースを作成したときのパスワード
を入力し、右下の「Test Database」をクリックします。
データベースへの接続テストの結果が表示されます。(赤丸で囲った部分)
Host:Success(成功)
Database:Success
Version:5.6.23-log
Compatibillity(互換性):This Server:[5.6.23]–Package Server:[5.6.23]
とすべてグリーン表示であることを確認してくだい。エラーを示すレッド表示があるとインストールできません。入力事項の誤りを修正してください。
「Next」をクリックしてインストールを進めると、このサーバーの場合、エラーが発生しインストールできません。
Please try again an issue has occurred.(問題が発生したのでやり直してください。)
Server Code:200(接続)
Status:OK
「Test Database」でグリーン表示なのになぜインストールできなかったのでしょうか。
その答えはレンタルサーバーのPHPの設定画面にあります。
Duplicatorで複製する場合、複製元のデータベースと複製先のデータベースのPHPバージョンが同じ若しくは近似である必要があります。
このサーバーは、マルチPHPでVer5.6系とVer7.1系か選べる仕様で、複製のため情報を抽出した複製元のPHP バージョンは[7.1モジュール版]で行ったので、複製先のPHPバージョンも[7.1モジュール版]に合わせてあります。
しかしTest Databaseの際、Compatibillityで示されているThis ServerとPackage ServerのPHPバージョンは[5.6.23]になっています。
即ち、Duplicatorで複製に必要な情報の抽出をPHP[7.1]で行ったが、実際にはPHP[5.6.23]で抽出されていたため、複製先データベースのPHPバージョンと整合が取れずエラーが発生した訳です。
※※※ ポイント ※※※
マルチPHPサーバーの場合、複製先のPHPバージョンは「Test Database:CompatibillityのPakuage Sarverに表示されているPHPバージョンの値」をサーバーのPHP設定画面で選択する。
サーバーのPHP設定画面で複製先PHPバージョンを[5.6]に変更して複製処理を再開します。
エラーが発生することなく次の段階に進むことができました。
必要な情報は既に入力されています。
書き換えるとすれば、テストサイトであることがすぐに分かるようにサイトタイトルを複製元のサイト名から書き換えることぐらいです。
「Next」をクリックして次に進みます。
複製先のデータベースにインストールが実行され、複製が完了しました。
「Site Login」をクリックすれば複製先のワードプレスのログイン画面が表示されますが、私が不正ログインを防ぐため推奨している「Siteguard」プラグインを使用してログインURLを変えていると「404エラー画面」が表示されて複製したテストサイトにログインできません。(参考「不正ログインにはこれで防御「Siteguard WP Plugin」の設定方法」)
「Siteguard」プラグインを使用していない場合、「Site Login」をクリックするとログイン画面(http://ドメイン/wp-login.php)が表示されて複製先テストサイトに入ることができますが、テストサイトを編集する段階でエラーが発生する確率がかなり高いです。
「Siteguard」プラグインの使用の有無に係らず、複製先テストサイトを開く前に、次のステップに進みましょう。
5 .hatsccessを書き換える
Duplicatorでサイトの複製が完了したので、本当に複製が不具合なくできているか早く確認したいと思います。
しかし、このままでは何かしらの不具合が発生する可能性が高いです。
逸る気持ちを抑えてこれから説明するステップに進んでください。
FTPソフト等で複製先のディレクトリを表示します。
複製先のディレクトリを開きます。
「.htaccess」と「.htaccess.〇〇〇.orig」の2つのファイルをディスクトップにダウンロードします。
ダウンロードした「.htaccess」をテキストエディタで開きます。
Duplicatorで複製した旨のコメントとワードプレスに関するコードしかかかれていません。テーマやプラグインの作動に必要なコードだけでなく、セキュリティーに関するコードも一切ありません。(参照「.htaccessでベーシック認証・IPアドレス制御・リダイレクトする方法」)
Duplicatorで複製したワードプレスのログイン画面が開けなかったり、編集する際にエラーが発生したりするのは、複製先ディレクトリ内の作成された.htaccessファイルにテーマやプラグインの制御に必要なコードが書かれていないために発生するものです。
ですから、複製先ディレクトリの.htaccessを複製元の.htaccessに書かれている内容と同じものにすればこれらの問題は発生しません。
複製元の.htaccessは、一緒にダウンロードした「.htaccess.○○○.orig」です。このファイル名を.htaccessに変えて複製先のディレクトリにある.htaccessと置き換えればいいのですが、この時にも注意することがあります。
※※※ ポイント ※※※
.htaccessに書かれているコードの中には、リダイレクト設定やプラグインの位置をフルパスで指定しているものがあります。これらのコードに書かれているフルパスをドメイン名からサブドメイン名に変える必要があります。
修正したファイルを取り間違わないようにファイル名を書き換えてからテキストエディタで開きます。
書き換え漏れを防ぐためにテキストエディタにある「検索」や「置換」を使用して書き換える場所を探します。
今回はドメイン(easy-wordpress)をサブドメン(test.easy-wordpress)にしてテストサイトを作成しているので、該当箇所をすべて「test.easy-wordpress」に書き換えます。
Duplicatorで複製する目的がバックアップ用やテスト用の場合、一般に公開する必要はありません。ベーシック認証をかけて非公開にしておいた方がいいです。ベーシック認証に必要なコードも追記しておきましょう。(「.htaccessでベーシック認証・IPアドレス制御・リダイレクトする方法 5-6 ベーシック認証をかける」を参考にしてください。)
最後に「保存」してテキストエディタを終了します。
test.haccessをFTPソフト等を利用して複製先ディレクトリに(ベーシック認証を追記した時は一緒に「.htpasswd」も)アップロードします。
複製先ディレクトリ内にある「.htaccess」と「.htaccess.○○○.orig」を削除してアップロードした「test.htaccess」のファイル名を「.htaccess」に変えれば書き換えは完了です。
※※※ ポイント ※※※
今回は手順を分かりやすく説明するために複製の流れに沿って解説しています。.htaccessの書き換えは「2 複製の事前準備」で行った方がスムーズに非公開のテストサイトを作成することができます。
Duplicatorで複製して複製元と全く同じ環境のテスト用サイトが完成しました。
が、その前に最後のステップに進んでからテストサイトを開いてください。
6 Duplicatorで抽出したファイルをサーバーから削除する
Duplicatorで抽出したファイルには、複製元の重要なファイルが含まれていることがご理解頂けると思います。
複製元及び複製先のディレクトリ内にこれらのファイルを留めておくことは、セキュリティー上望ましくありません。
FTPソフトで複製先ディレクトリを開き、複製のためにアップロードした「archive.zip」と「installer.php」の二つのファイルを削除してください。
続いて、複製元のワードプレス > ダッシュボード > Duplicator >Packages を開きます。
抽出したPackageにチェックを付けてDelete(削除)を選びApplyをクリックして抽出したファイルを削除します。
抽出したファイルのキャッシュが存在するので、キャッシュも削除します。
ダッシュボード > Duplicator > Tools を開きます。
赤枠の「Clear Build Cache」をクリックします。
これでDuplicatorでサイトを複製する手順はすべて完了しました。
ブラウザーのURLにサブドメンのログインアドレスを入力して実行してください。
ベーシック認証のIDとPasswordの入力画面が開くので、IDとPasswordを入れれば複製したテストサイトのログイン画面が表示されます。
7 パーマリンク設定をする
URLは複製元から複製先に変わっているので、パーマリンクの設定を更新します。。
ダッシュボード > 設定 > パーマリンク設定 を開き「変更を保存」をクリックします。
Duplicatorでサブドメインにテストサイトを作る方法は以上です。
お疲れ様でした。
8 Duplicatorでサイトを複製する時の補足事項
8-1 ファイルを保存する場所
Duplicatorで抽出したArchiveファイルとInstallerファイルは、Dropboxなどの信頼のおけるクラウドに保存すると、パソコン内とクラウド上の2か所に保存することになりパソコンやHDDが故障しても他のパソコンからクラウドに接続できるので安全性が更に高まります。
Dropboxは2ギガまで無料で使えるのでアカウントを作成してDropboxに保存することをお勧めします。Dropboxのホームページ
Dropboxの2ギガ無料アカウントを作成するをクリックしてアカウント作成ページを開きます。
必要事項を入力して「登録する(無料)」をクリックします。
Dropboxのソフトをダウンロードしてインストールすれば、安全なクラウド上に保管場所が確保できます。
8-2 サイト容量が大きいサイトやマルチサイトの対処法
複製元のサイトが大きい場合やマルチサイトを構築している場合は有料版のDuplicator Proを使用する必要があります。
有料版のDuplicator Pro は
・サイト容量に影響されない
・マルチサイトをサポート
・日時を指定して予約ができ、自動でDropboxなどのクラウドに保存する
など無料版にない機能があります。
有料版のDuplicator Proの詳細は Snap Creekのホームページで確認してください。
ワードプレスやテーマのメジャーアップデートを動作確認をせず公開サイトで行うと、不具合が発生した場合にサイトに不具合があるまま公開状態になってしまいます。
会社やお店のホームページは、大切な看板の1つです。その看板に不具合があるまま公開すると、不具合の内容によっては会社やお店の信用に直結します。アフェリエイトサイトの場合は、収入を左右する重大な問題につながっていきます。
また、テーマやプラグインが正常に作動しない場合、テーマを切り替えたり、その他のプラグインを無効にして原因を探る必要があります。このような場合、テーマやプラグインを無効にすると不完全なサイトが公開されるため同様に避けるべき状態の1つです。
Duplicatorでサイトを複製する作業を2~3回繰り返せば、15分~20分ぐらいでテストサイトを構築することができるようになるので手順に慣れてください。
今回はサブドメインを作ってテスト用サイトやバックアップ用サイトを作成する手順を紹介しました。公開中のサイトを保存してある過去のバックアップファイルに置き換えたり、サーバーを移転する方法は若干手順が異なるので別の記事にまとめます。
この記事があなたのお役に立てたら幸いです。
またこの記事がお役に立てれたならhatena・Facebook・Twitterでシェアして頂けると励みになります。